home *** CD-ROM | disk | FTP | other *** search
- /*
- ** WBGenie is Copyright 1992 by Steven Velletri. All Rights Reserved
- **
- ** Filename: eg.c
- ** Release: 1.0
- ** Revision: 0.0
- ** Date: 26/07/92
- ** Author: Steven Velletri
- ** Purpose:
- ** To demostrate how to use the routines in sup_lib.c
- ** It updates the tool types:
- ** WBG_TOP_EDGE
- ** WBG_LEFT_EDGE
- ** WBG_WIDTH
- ** WBG_HEIGHT
- ** with out affecting any others which may exist.
- **
- ** History:
- **
- ** Version Author Date Reason
- ** 0.00 SV 10/11/92 Created
- **
- ** To compile this module I used the SAS/C compiler version 5.10a.
- */
-
- /* Include other appropriate header files here */
-
- #include "sup_lib.h"
-
- /* Need to create this */
- struct SUPTOOLTYPES wbg_position_tool_types[] =
- {
- { "WBG_TOP_EDGE", 0 },
- { "WBG_LEFT_EDGE", 0 },
- { "WBG_WIDTH", 0 },
- { "WBG_HEIGHT", 0 },
- };
-
- BOOL wbg_save_position_tool_types(UBYTE top_edge,
- UBYTE left_edge,
- UBYTE width,
- UBYTE height,
- char * icon_name)
- {
- struct DiskObject *dobj;
-
- char ** oldtooltypes, **wbg_tt_buf, **tt_buf;
-
- /* This allocates a 4bytex128byte two dimensional array. */
- wbg_tt_buf = tt_buf = sup_get_buf(4, 128);
-
- if (wbg_tt_buf == NULL)
- return(FALSE);
-
- if (dobj = GetDiskObject(icon_name))
- {
- /* Store the pointer to the original tool types */
- oldtooltypes = dobj->do_ToolTypes;
-
- /* This writes into the two dimensional array created above */
- sprintf(*(tt_buf++), "%s=%d", "WBG_TOP_EDGE", top_edge);
- sprintf(*(tt_buf++), "%s=%d", "WBG_LEFT_EDGE", left_edge);
- sprintf(*(tt_buf++), "%s=%d", "WBG_WIDTH", width);
- sprintf(*(tt_buf++), "%s=%d", "WBG_HEIGHT", height);
-
-
- /* This does all the hard work */
- dobj->do_ToolTypes =
- sup_create_tool_type_array(dobj->do_ToolTypes,
- wbg_tt_buf,
- wbg_position_tool_types,
- 4);
-
- if (dobj->do_ToolTypes)
- {
- PutDiskObject(icon_name, dobj);
-
- /* This free must be done */
- sup_free_tool_type_array(dobj->do_ToolTypes);
- }
-
- /* Restore the pointer to the original tool types */
- dobj->do_ToolTypes = oldtooltypes;
- FreeDiskObject(dobj);
- }
-
- /* This free must also be done */
- free(*wbg_tt_buf);
-
- return(TRUE);
- }
-